package br.com.cinesystem.persistence;

import br.com.cinesystem.entity.Cinema;
import br.com.cinesystem.entity.Cliente;
import br.com.cinesystem.entity.Genero;
import br.com.cinesystem.entity.Usuario;
import java.util.List;

public class ClienteDao extends Dao{

    public ClienteDao() {
    }


    public void salvar(Cliente c) throws Exception{
        abrirConexao();

        stmt = con.prepareStatement("INSERT INTO cliente VALUES (null,?,?,?)");
        stmt.setInt(1, c.getUsuario().getIdUsuario());
        stmt.setInt(2, c.getGenero().getIdGenero());
        stmt.setInt(3, c.getCinema().getIdCinema());

        stmt.execute();

        fecharConexao();

    }

    public void alterar(Cliente c)throws Exception{
        abrirConexao();

        stmt = con.prepareStatement("UPDATE cliente SET id_Genero=?, id_Cinema=? WHERE idCliente=?");
        stmt.setInt(1, c.getGenero().getIdGenero());
        stmt.setInt(2, c.getCinema().getIdCinema());
        stmt.setInt(3, c.getIdCliente());

        stmt.execute();

        fecharConexao();
    }

    public Cliente buscar(Integer i)throws Exception{
        abrirConexao();

        stmt = con.prepareStatement("SELECT * FROM cliente WHERE id_Usuario=?");
        stmt.setInt(1, i);

        rs = stmt.executeQuery();

        Cliente cliente = null;

        if(rs.next()){

            cliente = new Cliente();
            cliente.setCinema(new Cinema());
            cliente.setUsuario(new Usuario());
            cliente.setGenero(new Genero());

            cliente.getCinema().setIdCinema(rs.getInt("id_Cinema"));
            cliente.getGenero().setIdGenero(rs.getInt("id_Genero"));
            cliente.getUsuario().setIdUsuario(rs.getInt("id_Usuario"));
            cliente.setIdCliente(rs.getInt("idCliente"));

        }
        fecharConexao();
        return cliente;
    }
    


}
